Printing control apparatus and printing control method

ABSTRACT

Even when printing cannot be executed by only the common setting included in a printing designation document, in order to generate the printing setting information native in a printer in accordance with the common general designation information included in a printing designation document and to execute the processing of a printing document in accordance with the information, a printing control method inputs a printing document and a printing designation document for specifying the processing content of the printing document, specifies a printer for processing the printing document in accordance with the input printing designation document, and obtains the native printing setting information which can be set to a control program in the printing control apparatus for controlling the specified printer, and controls the processing of transmitting a printing designation according to native printing setting information obtained by the obtainment step to the printer through the printing control program.

FIELD OF THE INVENTION

The present invention relates to a printing control apparatus and aprinting control method used for a document processing system forintegrating output data values generated by various programs including adocument processing program and an image editing program into onedocument and providing a function for editing the document.

BACKGROUND OF THE INVENTION

When different types of data such as data for a character, data for atable, and data for an image are used, it is necessary to use differentstructures for defining these types of data and different editingoperations for these types of data. Therefore, various applicationprograms corresponding to types of data are prepared. A user uses anapplication for each type of data, that is, the user uses a characterprocessing program in order to edit characters, a table computingprogram in order to edit tables, and an image editing program in orderto edit images.

Thus, it is common that a user uses an application program for each typeof data. However, as a document to be prepared by a user, a documentconstituted by a plurality of types of data such as characters andtables or characters and images is more common than a documentconstituted by one type of data such as only characters, tables orimages. Therefore, to prepare a purposed document including a pluralityof types of data, it has been necessary for a user to print data foreach of various applications by using a printing function provided forthe application and combine printed matters in a desired sequence.

Moreover, some of programs referred to as the so-called office suite forforming one integrated application by various types of applicationsprovide a function for combining data values generated by variousapplications and constituting one document. By using the integratedapplication, a user can integrate data values generated by applicationsinto one purposed document by a specific application included in anintegrated application.

Moreover, a system (POD: Print On Demand) is spread in recent yearswhich stores documents such as a manual, catalog, and meeting materialin the form of electronic documents and prints only a necessary numberof copies according to necessity. The POD system uploads a document fileprepared by a user to a printing management server and the operator ofthe printing management server makes the server print the document file.In the case of this system, when an operator first designates printingof a document to be printed, the above content designation is convertedinto an electronic document on a printing management server as aprinting designation document (generally referred to as a job ticket)and the job ticket information is entered in the printing managementserver instead of designating a printer to be used, a format to be used,and a function of the printer to be used for printing every time likethe case of normal printing. Thereby, it is possible to obtain the sameoutput format every time even if there is no printing document preparer.

Moreover, some of the systems are provided with a function fordecentralizing processings to a plurality of printers previously enteredin order to increase a printing speed. Furthermore, there are somesystems having a function for executing substitute printing by apreviously designated printer in order to secure printing even if adesignated printer cannot be operated due to a trouble. When using theabove function, a printing designation described in a printingdesignation document (job ticket) is similarly transmitted to aplurality of printers so that the same result can be obtained from anyprinter. Furthermore, to output different conditions (e.g. the number ofcopies) by a plurality of printers, it is necessary to enter each jobticket in a printing management server.

Thus, in the case of the conventional POD system, it is necessary topreviously enter a job ticket in a printing management server. Moreover,to use a function of the POD system such as decentralization printing,it is necessary to use the printing management server of the POD systemand therefore, a problem occurs that the cost increases.

Therefore, a printing system has been considered in recent years whichhas a decentralized printing function for directly generating printingjobs for a plurality of printers by a client PC. In the case of theprinting system having the decentralized printing function, however, itis necessary to set each printer driver to be decentralized for printingwhenever a client PC executes a printing designation and always requirea printing document preparer.

Moreover, when a user prepares one purposed document by combiningprinted matters according to various applications, for example, in orderto assign a page number to each page, it is necessary to once print outall necessary data, form the data into a document, and decide pagenumbers to be assigned. Then, a decided page number is written in eachpage of a manuscript (this is referred to as a logic page or manuscriptpage) prepared by each application. Even when an application program hasa function for assigning page numbers, if there is a discontinuousportion, a user must designate a page number for the portion. Moreover,when rearranging pages of a purposed document, it is necessary toreassign page numbers in accordance with the rearranged pages.Furthermore, even when not changing contents of data but changing onlyformats such as a case of integrating a plurality of manuscript pagesinto one page as a printed matter (this is referred to as a physicalpage or printed page) or changing one-side printing to both-sideprinting, it is necessary to retry edition and printing depending on anapplication.

Thus, because an application capable of managing a type of data dependson the type of data, it is necessary that a user manually provides aninterface between applications. This represents that a lot of labor isrequired for the user and deteriorates productivity. Moreover, an erroreasily occurs because many hands are used.

Moreover, when preparing a purposed document by using an integratedapplication, it is possible to arrange various data values in the formof data without printing out the data. Therefore, labor is not requiredcompared to the case of preparing a purposed document by combiningprinted matters. However, applications for editing and preparing variousdata values are restricted to those included in an integratedapplication and therefore, an application desired by a user cannot bealways used. Moreover, a purposed document prepared by an integratedapplication is one document file and edition and outputting are managedfor every file. Therefore, to set a format to a part of a document file,there are many restrictions due to functions of applications andoperations for setting a format every portion where formats are changedand performing reprinting are necessary. Therefore, a lot of labor isrequired and the productivity is deteriorated the same as the case ofthe above method.

Furthermore, in the case of the above prior art, a problem occurs thatwhen functions of a plurality of printers are different from each otherbetween the printers designated as printers for performing decentralizedprinting or substitute printing, it is impossible to simultaneouslycommunicate designations set in a printing designation document to aplurality of printers as common data.

Usually, a user designates printing setting through the printer driverUI of a printer to be used for printing, the designation is input to theprinter driver of DEVMODE serving as a data structure provided by an OSthrough the OS, the printing setting information native in the printerdriver is written in the DEVMODE, the setting of the DEVMODE is read inthe printer driver under printing, and print data is generated. In thiscase, the DEVMODE is a data structure provided by the OS, in which analready specified standard portion and an extended portion that can befreely used by each printer vendor are present as described later.Therefore, a portion that can be used by the structure of the DEVMODE isthe standard portion through which it is possible to know theconfiguration of the structure of the DEVMODE.

However, there is a problem that the content of printing setting set inthe extended portion which can be comparatively freely described butthrough which the configuration of the DEVMODE cannot be known unlessthe specification is separately obtained can be understood by only theprinter driver written in the DEVMODE which internally knows thespecification of the extended portion or cannot be understood by anintegrated application for performing decentralized printing.

SUMMARY OF THE INVENTION

The present invention is made in view of the above conventional exampleand its object is to provide a printing control apparatus and a printingcontrol method capable of managing the printing setting to a pluralityof printer drivers.

It is another object of the present invention to provide a printingcontrol apparatus and a printing control method capable of generatingthe printing setting information (DEVMODE) native in a printer inaccordance with common general designation information included in aprinting designation document and executing the processing of a printingdocument in accordance with the information even if printing cannot beexecuted by only the common setting included in the printing designationdocument.

It is still another object of the present invention to provide aprinting control apparatus and a printing control method capable ofpreparing and editing a document obtained by integrating data valuesgenerated by an application program desired by a user and improving theoperability of the document and the productivity of document edition.

To solve at least one of the above problems and achieve the objects, aprinting control apparatus and a printing control method of the presentinvention are mainly provided with the following configuration.

That is, a printing control apparatus for making a printer printprinting data by transmitting the data to the printer comprises inputunit adapted to input a printing document and a printing designationinformation for specifying the processing content of the printingdocument;

obtainment unit adapted to specify a printer for processing the printingdocument in accordance with the input printing designation document andobtaining the native printing setting information which can be set to acontrol program in the printing control apparatus for controlling thespecified printer; and

transmission control unit adapted to control the processing oftransmitting a printing designation according to native printing settinginformation obtained by the obtainment unit to the printer through theprinting control program.

Preferably, the above printing control apparatus further comprisesidentification unit adapted to identify whether the printing settinginformation native in the specified printer is included in the printingdesignation information; and

generation unit adapted to generate native printing setting informationin accordance with general designation information included in theprinting designation information when the native printing settinginformation is not included in the printing designation information,depending on an identification result by the identification unit;

wherein the specified printer is controlled in accordance with thenative printing setting information generated by the generation unit.

Preferably, in the above printing control apparatus, when nativeprinting setting information is included in the printing designationinformation as a result of the identification processing in theidentification unit, the output unit of the printer controls thespecified printer in accordance with the native printing settinginformation and outputs the printing document to the printer.

Preferably, in the above printing control apparatus, when the printingdocument is processed through substitute processing by a plurality ofprinters,

the identification unit identifies whether the native printing settinginformation corresponding to a printer corresponding to a processingsequence in accordance with the substitute sequence of the printers isincluded in the printing designation information, and

the generation unit generates the printing setting information native ina printer corresponding to the processing sequence in accordance withthe general designation information when the native printing settinginformation is not included, depending on the identification result.

Preferably, in the above printing control apparatus, even when firstnative printing setting information corresponding to the printer forprocessing the printing document is included in the printing designationinformation,

the generation unit generates second native printing setting informationin accordance with the general designation information depending on theidentification result by the identification unit and generates thirdnative printing setting information obtained by combining the firstnative printing setting information and the second native printingsetting information.

Preferably, in the above printing control apparatus when the printingcontrol program is a printer driver,

the obtainment unit is further provided with communication unit adaptedto obtain the native setting information set in the printer driver, callthe application programming interface of an operating system mounted onthe printing control apparatus, and communicate the interface to theprinter driver, and

the generation unit directly uses the native printing settinginformation communicated by the communication unit.

Moreover, a printing control apparatus for transmitting printing data toa printer to make the printer distributed-print the data comprises inputunit adapted to input a printing document and a printing designationinformation for specifying the processing content of the printingdocument;

obtainment unit adapted to specify a plurality of printers forprocessing the printing document in accordance with the input printingdesignation information and obtaining the specified native printingsetting information when the printing document is processed inaccordance with the decentralized processing by a plurality of printers;and

transmission control unit adapted to control the processing fortransmitting a designation instruction to the printers in accordancewith the native printing setting information obtained by the obtainmentunit.

Preferably, in the above printing control apparatus, the identificationunit individually identifies whether the native printing settinginformation corresponding to each of the printers is included in theprinting designation information and the generation unit generates thenative printing setting information in accordance with the generaldesignation information for a printer in which the native printingsetting information is not included, depending on the identificationresult.

Moreover, a printing control method for making a printer print printingdata by transmitting the data to the printer comprises an input step ofinputting a printing document and a printing designation information forspecifying the processing content of the printing document;

an obtainment step of specifying a printer for processing the printingdocument in accordance with the input printing designation informationand obtaining the native printing setting information which can be setto a control program in the printing control apparatus for controllingthe specified printer;

a transmission control step of controlling the processing oftransmitting a printing designation according to native printing settinginformation obtained by the obtainment step to the printer through theprinting control program.

Preferably, the above printing control method further comprises anidentification step of identifying whether the printing settinginformation native in the specified printer is included in the printingdesignation information; and

a generation step of generating native printing setting information inaccordance with general designation information included in the printingdesignation information when the native printing setting information isnot included in the printing designation information, depending on anidentification result by the identification step;

wherein the specified printer is controlled in accordance with thenative printing setting information generated by the generation step.

Preferably, in the above printing control method, when native printingsetting information is included in the printing designation informationas a result of the identification processing in the identification step,the output step controls the specified printer in accordance with thenative printing setting information and outputs the printing document tothe printer.

Preferably, in the above printing control method, when the printingdocument is processed through the substitute processing of a pluralityof printers,

the identification step identifies whether the native printing settinginformation corresponding to a printer corresponding to a processingsequence is included in the printing designation information inaccordance with the substitute sequence of the printers, and

the generation step generates the printing setting information native ina printer corresponding to the processing sequence in accordance withthe general designation information when the native printing settinginformation is not included, depending on the identification result.

Preferably, in the above printing control method, even when the firstnative printing setting information for a printer for processing theprinting document is included in the printing designation information,

the generation step generates second native printing setting informationin accordance with the general designation information depending on theidentification result in the identification step and generates thirdnative printing setting information by combining the first and secondnative printing setting information.

Preferably, in the above printing control method, when the printingcontrol program is a printer driver,

the obtainment step is further provided with a communication step ofobtaining the native setting information set in the printer driver,calling the application programming interface of an operating systemmounted on the printing control apparatus, and communicating theinterface to the printer driver, and

the generation step directly uses the native printing settinginformation communicated by the communication step.

Furthermore, a printing control method for transmitting printing data toa printer to make the printer distributed-print the data comprises aninput step of inputting a printing document and a printing designationinformation for specifying the processing content of the printingdocument;

an obtainment step of specifying a plurality of printers for processingthe printing document in accordance with the input printing designationinformation and obtaining the specified native printing settinginformation when the printing document is processed in accordance withthe decentralized processing by a plurality of printers; and

a transmission control step of controlling the processing fortransmitting a designation instruction to the printers in accordancewith the native printing setting information obtained by the obtainmentstep.

Preferably, in the above printing control method, the identificationstep individually identifies whether the native printing settinginformation corresponding to each of the printers is included in theprinting designation information and the generation step generates thenative printing setting information in accordance with the generaldesignation information for a printer in which the native printingsetting information is not included, depending on the identificationresult.

Furthermore, a program which can be executed by a computer forspecifying functions of a printing control apparatus for making aprinter print printing data as functions to be executed by the computer,capable of making the computer execute an input module for inputting aprinting document and a printing designation information for specifyingthe processing content of the printing document;

an obtainment module for specifying a printer for processing theprinting document in accordance with the input printing designationinformation and obtaining the native printing setting information whichcan be set to a control program in the printing control apparatus forcontrolling the specified printer; and

a transmission control module for controlling the processing oftransmitting a printing designation according to native printing settinginformation obtained by the obtainment unit to the printer through theprinting control program.

Furthermore, a computer-readable recording medium storing a programmodule for executing a printing control method for making a printerprint printing data stores an input module for inputting a printingdocument and a printing designation information for specifying theprocessing content of the printing document;

an obtainment module for specifying a printer for processing theprinting document in accordance with the input printing designationinformation and obtaining the native printing setting information whichcan be set to a control program in the printing control apparatus forcontrolling the specified printer; and

a transmission control module for controlling the processing oftransmitting a printing designation according to native printing settinginformation obtained by the obtainment unit to the printer through theprinting control program.

Furthermore, a program which can be executed by a computer forspecifying functions of a printing control apparatus for making aprinter distributed-print printing data as functions to be executed bythe computer, capable of making the computer execute an input module forinputting a printing document and a printing designation information forspecifying the processing content of the printing document;

an obtainment module for specifying a plurality of printers forprocessing the printing document in accordance with the input printingdesignation information and obtaining the specified native printingsetting information when the printing document is processed inaccordance with the decentralized processing by a plurality of printers;and

a transmission control module for controlling the processing fortransmitting a designation instruction to the printers in accordancewith the native printing setting information obtained by the obtainmentstep.

Furthermore, a computer-readable recording medium storing a programmodule for executing a printing control method for making a printerdistributed-print printing data stores an input module for inputting aprinting document and a printing designation information for specifyingthe processing content of the printing document;

an obtainment module for specifying a plurality of printers forprocessing the printing document in accordance with the input printingdesignation information and obtaining the specified native printingsetting information when the printing document is processed inaccordance with the decentralized processing by a plurality of printers;and

a transmission control module for controlling the processing fortransmitting a designation instruction to the printers in accordancewith the native printing setting information obtained by the obtainmentstep.

Furthermore, a printing control apparatus for controlling printing ofdocument information comprises setting unit adapted to set decentralizedprinting for printing document information by using a plurality ofprinters; and

document management unit adapted to store the printing setting for eachprinter in the document file of the document information whendecentralized printing is set by the setting unit.

Preferably, in the above printing control apparatus, the documentmanagement unit stores the data structure of the printing settingspecified by an OS as printing setting.

Preferably, the above printing control apparatus further comprisessetting notification unit adapted to obtain printing setting stored inthe document file when printing the document information and notifying aplurality of printer drivers of printing setting.

Furthermore, a printing control method for controlling printing ofdocument information comprises a setting step of setting thedecentralized printing for printing document information by using aplurality of printers; and

a document management step of storing the printing setting for eachprinter in the document file of the document information whendecentralized printing is set in the setting step.

Preferably, in the above printing control method, the documentmanagement step stores the data structure of the printing settingspecified by an OS as printing setting.

Preferably, the above printing control method further comprises asetting notification step of obtaining the printing setting stored inthe document file when printing the document information and notifying aplurality of printer drivers of the printing setting.

Furthermore, a program which can be executed by a computer forspecifying functions of a printing control apparatus for controllingprinting of document information as functions to be executed by thecomputer, capable of making the computer execute a setting module forsetting the decentralized printing for printing document information byusing a plurality of printers; and

a document management module for storing the printing setting for eachprinter in the document file of the document information whendecentralized printing is set by the setting module.

Furthermore, a computer-readable recording medium storing a programmodule for executing a printing control method for controlling printingof document information stores a setting module for setting thedecentralized printing for printing document information by using aplurality of printers; and

a document management module for storing the printing setting for eachprinter in the document file of the document information whendecentralized printing is set by the setting module.

Other features and advantages of the present invention will be apparentfrom the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

FIG. 1 is a block diagram showing a configuration of a printing controlapparatus of an embodiment of the present invention and its relevantunits;

FIG. 2 is a flowchart for explaining the processing of printing control;

FIG. 3 is a flowchart for explaining the processing of a printingdesignation according to rate decentralization;

FIG. 4 is an illustration showing a dialog for setting a decentralizedprinter;

FIG. 5 is an illustration showing a data structure of a printingdesignation document;

FIG. 6 is an illustration showing a data structure of a printingdesignation document when specifying a plurality of decentralizedprinters;

FIG. 7 is a flowchart for explaining the processing of a printingdesignation in accordance with substitute printing;

FIG. 8 is an illustration showing a dialog for setting a substituteprinter;

FIG. 9 is an illustration showing a data structure of a printingdesignation document when specifying a plurality of substitute printers;

FIG. 10 is a block diagram of a stand-alone-type document processingsystem;

FIG. 11 is a block diagram of a computer for realizing a documentprocessing system;

FIGS. 12A and 12B are illustrations showing a structure of a book file;

FIG. 13A is an illustration showing a list of book attributes;

FIG. 13B is an illustration showing a list of book attributes;

FIG. 14 is an illustration showing a list of chapter attributes;

FIG. 15 is an illustration showing a list of page attributes;

FIG. 16 is a flowchart of a procedure for opening a book file;

FIG. 17 is a flowchart of a procedure for importing an electronicmanuscript file to a book file;

FIG. 18 is a flowchart of a procedure for converting application datainto an electronic manuscript file;

FIG. 19 is an illustration showing a user interface screen when openingan existing book file;

FIG. 20 is an illustration showing a user interface screen when openinga new book file;

FIG. 21 is a block diagram of a client-server-type document processingsystem;

FIG. 22 is an illustration showing a data structure provided by an OS asa standard DEVMODE; and

FIG. 23 is an illustration showing data structures of a standard portionand an extended portion of a DEVMODE.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will now be described indetail in accordance with the accompanying drawings.

<Outline of System>

The outline of a document processing system which is an embodimentpreferable for an information processing system of the present inventionwill be described by referring to FIGS. 10 to 23. In the case of thedocument processing system, a data file generated by a generalapplication is converted into an electronic manuscript file by anelectronic manuscript writer. A bookbinding application provides afunction for editing the electronic manuscript file. Details of thefunction will be described below.

<System Configuration and Operations>

FIG. 10 is an illustration showing a software configuration of thedocument processing system of this embodiment. The document processingsystem is realized by a digital computer 1000 that is an embodimentpreferable for a printing control apparatus of the present invention. Ageneral application 1010 is an application program for providingfunctions such as word processing, spread sheet, photoretouch, draw, orpaint, presentation, and text edition and has a printing function for anOS. These applications respectively use a predetermined interface(generally referred to as GDI) provided by an operating system (OS) inorder to print application data such as generated document data or imagedata.

That is, the application 1010 transmits an OS-depending output command(referred to as GDI function) previously decided to an output module ofan OS for providing the above interface in order to print the generateddata. An output module receiving the output command converts the commandinto a format that can be processed by an output device such as aprinter and outputs the converted command (referred to as DDI function).A format that can be processed by an output device depends on the type,manufacturer, or model of the device and therefore, a device driver isprovided for each device. An OS converts a command by using the devicedriver, generates printing data, and thereby, a printing job isgenerated by binding the job with JL (Job Language). When using Windowsof MicroSoft Corp. as an OS, a module referred to as GDI corresponds tothe above output module.

The electronic manuscript writer 1020 is obtained by improving the abovedevice driver and is a software module provided to realize the presentdocument processing system. However, the electronic manuscript writer1020 does not purpose a specific output device but it converts an outputcommand into a format which can be processed by a bookbindingapplication 1040 or a printer driver 1060 to be mentioned later. Theformat converted by the electronic manuscript writer 1020 (hereafterreferred to as electronic manuscript format) is not restricted as longas the format makes it possible to express a manuscript for each page bya detailed format. Among substantial standard formats, it is possible touse a PDF format by Adobe Systems and an SVG format as the electronicmanuscript format. When making the application 1010 use the electronicmanuscript writer 1020, the electronic manuscript writer 1020 isdesignated as a device driver used for outputting and then printing isexecuted.

However, an electronic manuscript file directly generated by theelectronic manuscript writer 1020 is not provided with a complete formatas an electronic manuscript file. Therefore, the bookbinding application1040 designates the electronic manuscript writer 1020 as a device driverand application data is converted into an electronic manuscript fileunder the management by the application 1040. The bookbindingapplication 1040 completes a new incomplete electronic manuscript filegenerated by an electronic manuscript writer 1-2 as an electronicmanuscript file provided with the format to be described later.Hereafter, when it is necessary to clearly identify the above point, afile generated by the electronic manuscript writer 1020 is referred toas an electronic manuscript file and an electronic manuscript file whosestructure is provided by a bookbinding application is referred to as abook file. Moreover, when classification is not necessary, a documentfile, electronic manuscript file, and book file generated byapplications are respectively referred to as a document file (ordocument data).

Thus, by designating the electronic manuscript writer 1020 as a devicedriver and printing the data by the general application 1010,application data is converted into an electronic manuscript format foreach page defined by the application 1010 (hereafter referred to aslogic page or manuscript page) and stored in a storage medium such as ahard disk as an electronic manuscript file 1030. It is allowed to use alocal drive provided for a computer for realizing the documentprocessing system of this embodiment as the hard disk or a driveprovided for a network when the hard disk is connected to the network.

The bookbinding application 1040 reads an electronic manuscript file orthe book file 1030 and provides a function for editing the file 1030 forusers. However, the bookbinding application 1040 does not provide afunction for editing the content of each page but it provides a functionfor editing a chapter or a book structure to be described laterconstituted by using a page as the minimum unit.

When printing the book file 1030 edited by the bookbinding application1040, an electronic manuscript despooler 1050 is started by thebookbinding application 1040. The electronic manuscript despooler 1050reads a designated book file from a hard disk, generates an outputcommand adapted to the output module of the above OS in order to printeach page in the format described in the book file, and outputs thecommand to a not-illustrated output module. In this case, the driver1060 of a printer 1070 used as an output device is designated as adevice driver. The output module converts an output command received byusing the device driver 1060 of the designated printer 1070 into adevice command that can be interpreted by the printer 1070. Then, thedevice command is transmitted to the printer 1070 and an imagecorresponding to the command is printed by the printer 1070.

FIG. 11 is a block diagram of the hardware of the computer 1000. In FIG.11, a CPU 2010 executes programs such as an OS, general application, andbookbinding application stored in a programming ROM of a ROM 2030 orloaded to a RAM 2020 from a hard disk 2110 to realize the softwareconfiguration in FIG. 10 and the procedure in a flowchart to bedescribed later. The RAM 2020 functions as the main memory and work areaof the CPU 2010. A keyboard controller (KBC) 2050 controls key inputsfrom a keyboard 2090 and a not-illustrated pointing device. A CRTcontroller (CRTC) 2060 controls displays of a CRT display 2100. A diskcontroller (DKC) 2070 controls accesses to the hard disk (HD) 2110 forstoring a boot program, various applications, font data, user files, andan edition file to be described later and a floppy disk (FD). A PRTC2080 controls exchange of signals with the connected printer 1070. An NC2120 is connected to a network to control communications with otherunits connected to the network.

<Format of Electronic Manuscript Data>

The data format of a book file will be described below before referringto details of an editing application 1040. A book file has a three-layerstructure obtained by simulating a book of a paper medium. Thehigh-order layer is referred to as “book” which simulates a book and inwhich attributes for the whole book are defined, the middle layer underthe high-order layer corresponds to a chapter of a book and is referredto as “chapter”. It is possible to define an attribute for each chapter.The low-order layer is a “page” and corresponds to each page defined byan application program. It is also possible to define an attribute foreach page. It is allowed that one book includes a plurality of chaptersand one chapter includes a plurality of pages.

FIG. 12A is an illustration schematically showing a format of a bookfile. In the case of this book file, a book, chapter, and page arerespectively shown by a node corresponding to each of them. One bookfile includes one book. Because a book and a chapter are concepts fordefining the structure of a book, each concept includes a definedattribute value and a link to a low-order layer as its entity. A pagehas the data for each page output by an application program as anentity. Therefore, a page includes its attribute value, the entity of amanuscript page (manuscript page data), and a link to each manuscriptpage data value. A printing page when output to a paper medium or thelike may include a plurality of manuscript pages. This structure is notdisplayed by a link but it is shown as the attribute in each hierarchyof a book, chapter, and page.

In FIG. 12A, a book attribute is defined in a book 3010 and two chapters3020A and 3020B are linked. It is displayed by the link that thechapters 3020A and 3020B are included in the book 3010. It is shown inthe chapter 3020A that pages 3030A and 3030B are linked and these pagesare included. An attribute value is defined in each of the pages 3030Aand 3030B and links to manuscript page data values (1) and (2) that areentities of the attribute values are included in the pages 3030A and3030B. These links point out data values (1) and (2) of the manuscriptpage data 3040 shown in FIG. 12B and display that entities of the pages3030A and 3030B are manuscript page data values (1) and (2).

FIGS. 13A and 13B show a list of book attributes. The attribute value ofa low-order layer is preferentially used for an item that can be defineddoubly with a low-order layer. Therefore, in the case of an itemincluded only in a book attribute, a value defined in the book attributebecomes an effective value on the whole book. However, an itemoverlapping with a low-order layer has a meaning as a fixed value whenthe item is not defined in the low-order layer. Each illustrated itemdoes not specifically correspond to one item but it includes a pluralityof relevant items.

FIG. 14 shows a list of chapter attributes and FIG. 15 shows a list ofpage attributes. The relation between a chapter attribute and a pageattribute is the same as the relation between a book attribute and alow-order-layer attribute.

Items native in a book attribute include six items such as a printingmethod, bookbinding details, front cover/back cover, index paper,plypaper, and chapter pause. These are items defined through a book.Three values of one-side printing, both-side printing, and bookbindingprinting can be designated as printing-method attributes. Thebookbinding printing is a method for performing printing in accordancewith a format for realizing bookbinding by bundling the number of formsto be separately designated, folding them double, and binding themtogether. As bookbinding detailed attributes, two-page spread directionand the number of forms to be bundled can be designated when thebookbinding printing is designated.

A front-cover/back-cover attribute includes a designation of addingforms serving as a front cover and back cover and a designation ofprinting contents to the added forms when printing electronic manuscriptfiles to be integrated into a book. An index-paper attribute includes adesignation of inserting deckle-edged index paper separately preparedinto a printer and a designation of printing contents to an index(deckle edge) portion as the pause of a chapter. The attribute becomeseffective when it is provided for a printer used by an inserter havingan inserting function for inserting a form prepared separately from aprinting form into a desired position or when it is possible to use aplurality of form-feed cassettes. The same is applied to a plypaperattribute.

The plypaper attribute includes a designation of inserting a formsupplied from an inserter or a form-feed cassette and a designation of aform-feed source when inserting plypaper as the pause of a chapter.

A chapter pause attribute includes a designation of using a new form atthe pause of a chapter, a designation of using a new printing page, anda designation of doing nothing. Use of a new form and use of a newprinting page have the same meaning under one-side printing. Underboth-side printing, when designating “use of a new form”, continuouschapters are not printed in one form. However, when designating “use ofa new printing page”, continuous chapters may be printed on the surfaceand back of one form.

A chapter attribute does not include an item native in a chapter butevery chapter attribute overlaps with a book attribute. Therefore, whenthe definition of a chapter attribute is different from the definitionof a book attribute, a value defined by the chapter attribute haspriority. Items common only to a book attribute and chapter attributeinclude five items such as a form size, form direction, N-up printingdesignation, enlargement and contraction, and form discharge direction.Among these items, an N-up printing designation attribute is an item fordesignating the number of manuscript pages included in one printed page.Arrangements which can be designated include 1×1, 1×2, 2×2, 3×3, and4×4. A form-discharge method attribute is an item for designatingwhether to apply a staple treatment to a discharged form and thevalidity of this attribute depends on whether a printer used has astaple function.

Items native in a page attribute include a page rotation attribute,zoom, arrangement designation, annotation, and page division. The pagerotation attribute is an item for designating a rotation angle whenarranging manuscript pages to printing pages. A zoom attribute is anitem for designating a magnification change rate of a manuscript page.The magnification change rate is designated by assuming the size of avirtual logic page region as 100%. The virtual logic page region denotesa region occupied by one manuscript page when arranging manuscript pagesin accordance with a designation such as Nup. For example, in the caseof 1×1, the virtual logic page region is a region corresponding to oneprinting page. In the case of 1×2, the virtual logic page region becomesa region obtained by contracting each side of one printing page toapprox. 70%.

A watermark attribute and header and footer attributes are attributescommon to a book, chapter, and page. A watermark denotes an image orcharacter string to be repeatedly printed on the data by an applicationand separately designated. A header and footer are watermarksrespectively printed on the top margin and bottom margin of each page.

An item that can be designated by a variable such as a page number ordate is prepared for a header and footer. Contents which can bedesignated in a watermark attribute and header and footer attributes arecommon to a chapter and page but a book is different from them. It ispossible to set the contents of a watermark or a header and footer in abook and moreover, it is possible to designate how to print a watermarkand a header and footer on the whole book. Moreover, in a chapter or apage it is possible to designate whether to print a watermark and aheader and footer set in a book.

<Book-file Generation Procedure>

A book file has the above structure and contents. Then, a procedure forgenerating a book file by the bookbinding application 1040 andelectronic manuscript writer 1020 will be described below. Generation ofa book file is realized as a part of the edition of the book file by thebookbinding application 1040. FIG. 16 shows a procedure for opening abook file by the bookbinding application 1040.

First, the bookbinding application 1040 determines whether the book fileto be opened is a book file to be newly generated or an existing bookfile (step S7010). When the book file is a book file to be newlygenerated, the bookbinding application 1040 newly generates a book fileincluding no chapter (step S7020). As shown in FIG. 12A, the newlygenerated book file has only a book node 3010 which is a node of a bookhaving no link to a node of a chapter. A set of attributes prepared fornew generation is applied as a book attribute. Moreover, a userinterface (UI) screen for editing the new book file is displayed (stepS7040). FIG. 20 shows a UI screen when a book file is newly generated.In this case, because the book file does not have substantial contents,nothing is displayed on the UI screen 11000.

When an existing book file is present, the bookbinding application 1040opens a designated book file (step S7030) and displays a user interface(UI) screen in accordance with the structure, attribute, and content ofthe book file. FIG. 19 shows an example of the UI screen. The UI screen11000 includes a tree portion 11010 showing the structure of a book anda preview portion 11020 for displaying a printed state. On the treeportion 11010 are displayed chapters included in a book and pagesincluded in each chapter in a tree structure as shown in FIG. 12A. Apage displayed on the tree portion 11010 is a manuscript page. Contentsof a printed page are contracted and displayed on the preview portion11020. The display sequence reflects the structure of the book.

Then, it is possible to add application data converted into anelectronic manuscript file by an electronic manuscript writer to theopened book file as a new chapter. This function is referred to as anelectronic manuscript import function. By importing an electronicmanuscript to the book file newly generated in accordance with theprocedure in FIG. 16, an entity is provided for the book file. Thisfunction is started by dragging and dropping application data to thescreen in FIG. 19. FIG. 17 shows a procedure for importing an electronicmanuscript.

First, designated application data is converted into electronicmanuscript data by starting an application program generating theapplication data, designating the electronic manuscript writer 1020 as adevice driver, and printing out the application data (step S8010). Whenthe conversion is completed, it is determined whether the converted datais image data (step S8020). The above determination can be performed inaccordance with the file extension of application data under control bythe OS of Windows. For example, it is possible to determine that thedata is Windows bit map data when the extension is “bmp”, the data isjpeg-compressed image data when the extension is “jpg”, and the data istiff-type image data when the extension is “tiff”. Moreover, in the caseof the tiff-type image data, because an electronic manuscript file canbe directly generated in accordance with image data without starting anapplication as described in step S8010, it is possible to omit theprocessing in step S8010.

When the data is not image data, the bookbinding application 1040 addsthe electronic manuscript file generated in step S8010 to a book of abook file currently opened as a new chapter (step S8030). The value of abook attribute is copied for an attribute common to the book attributeas a chapter attribute but a prepared specified value is set for anattribute not common to the book attribute.

When the data is image data, a new chapter is not added in principle buteach manuscript page included in the electronic manuscript filegenerated in step S8010 is added to a designated chapter (step S8040).

However, when a book file is a newly generated file, a new chapter isgenerated and each page of an electronic manuscript file is added as apage included in the chapter. The attribute value of a page attribute isprovided for a page attribute common to a high-order-layer attribute andthe value of an electronic manuscript file defined in application datais provided for an attribute taken over to the file. For example, whenNup is designated in application data, the attribute value of Nup istaken over. Thus, a new book file is generated or a new chapter isadded.

FIG. 18 is a flowchart of a procedure for generating an electronicmanuscript file by the electronic manuscript writer 1020 in step S8010shown in FIG. 17. First, a new electronic manuscript file is generatedand opened (step S9010). An application corresponding to designatedapplication data is started to transmit an output command to the outputmodule of an OS by using the electronic manuscript writer as a devicedriver. The output module converts the received output command into anelectronic-manuscript-type data by the electronic manuscript writer andoutputs the data (step S9020). The output destination is the electronicmanuscript file opened in step S9010. The electronic manuscript writer1020 determines whether conversion of every designated data is completed(step S9030) and closes the electronic manuscript file when theconversion is completed (step S9040). The electronic manuscript filegenerated by the electronic manuscript writer 1020 is a file includingthe entity of the manuscript page data shown in FIG. 12B.

<Edition of Book File>

As described above, it is possible to generate a book file in accordancewith application data. For the generated book file, it is possible toedit chapters and pages as described below.

-   (1) Newly adding-   (2) Deleting-   (3) Copying-   (4) Cutting-   (5) Pasting-   (6) Moving-   (7) Change of chapter names-   (8) Reassignment of page number and name-   (9) Insertion of front cover-   (10) Insertion of plypaper-   (11) Insertion of index paper-   (12) Page layout of each manuscript

Moreover, it is possible to perform an operation for cancelingonce-performed edition and an operation for retrying a canceledoperation. According to these editing functions, it is possible toperform such editing operations as integration of a plurality of bookfiles, rearrangement of chapters or pages in a book file, deletion of achapter or page in a book file, change of layouts of manuscript pages,and insertion of plypaper or index paper. By performing theseoperations, a search result is reflected on the attributes shown inFIGS. 13 to 18 or on the structure of a book file. For example, byperforming a new-blank-page adding operation, a blank page is insertedinto a designated portion. The blank page is handled as a manuscriptpage. Moreover, by changing layouts of the manuscript page, the changecontent is reflected on such attributes as a printing method, N-upprinting, front cover or back cover, index paper, plypaper, and chapterpause.

<Output of Book File>

As described above, a book file to be generated and edited has printoutas a final purpose. When a user selects the file menu from the UI screen11000 of the bookbinding application shown in FIG. 19 and selectsprinting from the menu, printing out is performed by a designated outputdevice. In this case, the bookbinding application 1040 first generates ajob ticket in accordance with a currently opened book file and suppliesthe job ticket to an electronic manuscript despooler 1050. Theelectronic manuscript despooler 1050 converts the job ticket into anoutput command of an OS such as the GDI command of Windows and transmitsthe GDI command to an output module such as a GDI. The output modulegenerates a command suitable for a device by a designated printer driver1060 and transmits the command to the device.

A job ticket is data

-having a structure using a manuscript page as the minimum unit. Thestructure of the job ticket defines the layout of a manuscript page on aform. One job ticket is issued to each job. Therefore, a node referredto as document is present at the highest order, in which the attributeof the whole document such as both-side printing or one-side printing isdefined. A form node is included below the node “document”, in whichattributes of an identifier of a form to be used and a designation of aform-feed port of a printer are included. The node of a sheet to beprinted on each form belongs to each form node. One sheet corresponds toone form. A printing page (physical page) belongs to each sheet. Onephysical page belongs to one sheet in the case of one-side printing andtwo physical pages belong to one sheet in the case of both-sideprinting. A manuscript page set on each physical page belongs to eachphysical page. Moreover, the layout of manuscript pages is included asthe attribute of a physical page.

The electronic manuscript despooler 1050 converts the above job ticketinto an output command to an output module.

<Other System Configurations>

The outline of the document processing system of this embodiment isdescribed above. Though the system is a stand-alone-type system, a bookfile is generated and edited in accordance with almost the sameconfiguration and procedure also in the case of a server client systemobtained by extending the stand-alone-type system. However, book filesand printing are managed by a server.

FIG. 21 is a block diagram showing a configuration of aserver-client-type document processing system. A client documentprocessing system has a configuration obtained by adding a DOMS(Document Output Management Service) driver 1090 serving as a clientmodule, a DOMS print service module 1100, and a DS (Document Service)client module 1080 to a stand-alone-type system. The client documentprocessing system 12000 connects with a document management server12010, centralized printing management server 12020, and print server12030. These servers are generally connected with a client documentprocessing system by a network. However, when the servers also functionas clients at the same time, they are connected by inter-processcommunication for simulating the communication between networks. In FIG.21, the document management server 12010 and centralized printingmanagement server 12020 are connected to a client. However, only eitherof them may be present on a network. When a connected server is adocument management server, a document-management server client system12010SC including the client module of the server is added to astand-alone-type document management system. When a connected server isthe centralized printing management server 12020, a printing-managementserver client system 12020SC including the client module of the server12020 is added to the stand-alone-type document management system.

The document management server 12010 is a server for storing a book filegenerated and edited by the bookbinding application 1040. When managinga book file by the document management server 12010, the book file isstored in the database 12110 of the document management server 12010instead of or in addition to the local HD of a client PC. A book file isstored and read between the bookbinding application 1040 and documentmanagement server 12010 through a DS client 1080 and DS core 12120.

The centralized printing management server 12020 is a server formanaging printing of a book file stored in the client documentmanagement system 12000 or document management server 12010. A printingrequest by a client is transmitted to the DOMSWG server module 12210 ofthe centralized printing management server 12020 through the DOMS driver1090 and DOMS print service module 1100. The centralized printingmanagement server 12020 supplies electronic manuscript data to theelectronic manuscript despooler 1050 through the DOMS print servicemodule 1100 of a client when printing the data by the printer of theclient and transmits the data to the DOMS print service module 12030 ofthe print server 12030 when printing the data by the print server 12030.A centralized printing management server performs security check on thequalification of a user issuing a printing request to a stored book fileor stores the log of printing. Thus, a document processing system can berealized as a stand-alone or a client-server system.

<Contents of Preview Display>

As already described, when a book file is opened by a bookbindingapplication, the user interface screen 11000 shown in FIG. 19 isdisplayed. A tree showing the structure of an opened book (hereafterreferred to as a watched book) is shown in the tree portion 11010. Threetypes of display methods are prepared in the preview portion inaccordance with a designation by a user. First one is a mode referred toas a manuscript view for directly displaying a manuscript page. In themanuscript-view mode, the content of a manuscript page belonging to awatched book is contracted and displayed. A layout is not reflected onthe display of the preview portion. Second one is a printing view mode.In the printing view mode, a manuscript page is displayed on the previewportion 11020 while the layout of a manuscript page is reflected on theportion 11020. Third one is a simple printing view mode. In the simpleprinting view mode, the content of each manuscript page is not reflectedon the display of the preview portion but only a layout is reflected onit.

Embodiments related to the electronic manuscript despooler 1050 will bedescribed below.

<First Embodiment>

<Description of Apparatus>

Embodiments of the present invention will be described in detail byreferring to the accompanying drawings.

FIG. 1 is a block diagram of a system constituted by the printingcontrol apparatus (information processor) of a first embodiment andrelevant units of the printing control apparatus. In FIG. 1, referencenumeral 1 denotes a system bus and blocks to be described later areconnected to the system bus. Reference numeral 2 denotes a CPU (CentralProcessing Unit). Reference numeral 3 denotes a program memory(hereafter referred to as “PMEM”) which properly selects and reads aprogram for printing control from a hard disk 10 and thereby, theprogram is executed by the CPU 2.

Moreover, the data input through a keyboard 12 is stored in a PMEM alsoserving as a text memory as code information. Reference numeral 4denotes a communication control section to control input/output data ata communication port 5. A signal output from the communication port 5 istransmitted to the communication port of another apparatus on a networkvia a communication line 6. Data transfer to and from a printer or imagereader shared on the network is performed through the communicationcontrol section 4.

Furthermore, though this embodiment is described by relating to anetwork such as a LAN, it is needless to say that the communication port5 connected to the communication control section 4 and a communicationline 6 can be applied to this embodiment even if the communication port5 and the communication line 6 are a general public line.

Reference numeral 8 denotes an external storage control section andreference numerals 9 and 10 respectively denote a disk for a data file.For example, reference numeral 9 denotes a floppy disk (hereafterreferred to as “FD”) and 10 denotes a hard disk (hereafter referred toas “HD”). Reference numeral 11 denotes an input control section thatconnects with input units such as the keyboard 12 and a mouse 13. Anoperator inputs a system operation command and the like by operating thekeyboard 12.

Moreover, the mouse 13 functions as a pointing device (hereafterreferred to as “PD”) for processing and designating image information ona CRT 16. Thereby, it is possible to designate processing by optionallymoving the cursor on the CRT 16 in X or Y direction and selecting acommand icon on the command menu and moreover, designate an editingobject and a drawing position. Reference numeral 14 denotes a videoimage memory (hereafter referred to as “VRAM”), 15 denotes a displayoutput control section, and 16 denotes the CRT. The data displayed onthe CRT 16 is expanded on the VRAM 14 as bit map data. Reference numeral17 denotes a printer control section to control output of data to aconnected printer 18. Reference numeral 1A denotes an image readercontrol section to control a connected image reader 1B.

In the case of embodiments of the present invention, components 1A and1B are indispensable for an image read server unit. In the case of aclient-side unit, however, it is possible to use components shared byservers through the communication control section 4 and communicationport 5 as described above.

Moreover, it is assumed that the configuration in FIG. 1 has the samefunction even when an image reader and an image reader control sectionare components physically separate from each other or the image readercontrol section is one component including the image reader.

Furthermore, in the case of this embodiment, it is allowed that aprogram stored in the PMEM is also stored in a storage medium such asthe hard disk (HD) 10 or floppy disk (FD) 9 directly connected to anapparatus. Furthermore, it is allowed that the program is stored inanother apparatus connected to a network. Furthermore, it is possible tosupply a program used for this embodiment to a system or printingcontrol apparatus through a storage medium such as a FD or HD or anetwork.

FIG. 2 is a flowchart for explaining the printing control by thisembodiment.

First, in step S201, the printing control apparatus receives bothprinting document data to be printed (hereafter referred to as “printingdocument”) and printing designation document data (hereafter referred toas “printing designation document”) for output-controlling the printingdocument data in accordance with the user's designation. The printingdesignation document is the data associated with a printing document tobe printed, which is the electronic document data in which theinformation on how to printing-control a printing document to be printedis described. A printing document and a printing designation documentcan be processed even when both the documents are integrated into adocument file according to circumstances.

The whole structure of a printing designation document is provided witha data structure having the data storage section shown in FIG. 5. Theprinting designation document is constituted by a designation-to-printerinformation section (503) for describing a printer device name (501) tobe output, a printing document name (502) to be printed, and adesignation to a purposed printer at an output destination, a DEVMODEstorage section (504) of a printer for output, a page arrangementinformation section (505) for describing an arrangement and sequence bywhich each page of a printing document is printed, amember-printer-name-storage section (506) for storing a member printername when decentralized printers are designated which are decentralizedand connected on a network as printer devices, and a member DEVMODEstorage section (507) for storing a DEVMODE corresponding to each memberprinter.

The DEVMODE is a device or a structure of setting information that canbe set to a printer in this case. The structure has a basic portion andan extended portion. The data structure of the basic portion is openedto the public. Therefore, it is possible to convert the basic portioninto a text and visually program the text. Moreover, the extendedportion is a field in which each company can extend a functioncomparatively freely. For example, it is possible to know the content ofthe extended portion of the DEVMODE by analyzing a portion from whichthe definition of a data structure can be previously obtained such as aportion developed by the company of its own in the extended portion by adata structure tool. However, it is impossible to understand and set thecontent of a portion from which a data structure cannot be previouslyobtained such as portions developed by companies other than the companythat has developed the basic portion in the extended portion because thedata structure is unknown. Therefore, a mechanism is requested which canuse the data in a DEVMODE structure from which a data structure cannotbe previously obtained. It is possible to designate the number of copiesto be printed to DmCopyie when a device supports a plurality of copies.

FIG. 22 is an illustration showing a part of a data structure providedby an OS as the standard DEVMODE. The standard portion of the DEVMODE isincluded in a part of the specification of an OS provided by MicroSoftCorp. Members of a structure will be described below. DmDeviceNamedesignates a device name supported by a driver. Each device and driverhave character strings that are not doubled. DmSpecVersion designates aversion number according to the initialing data specification serving asa criterion of a structure. DmDriverVersion designates a version numberfor a printer driver assigned by the developer of the printer driver.DmSize designates the size of a DEVMODE structure excluding members ofDmDriverData (information native in device) in bytes.

Each company can set values of members of the structure of the standardportion in FIG. 22. However, an extended portion not illustrated in FIG.22 is not opened to the public as an extended portion. DmDriverExtraholds the byte length of private driver data (extended DEVMODE ishereafter referred to as extended portion) following the structure. Whena device driver does not use the information native in a device, 0 isset to the member. DmOrientation can designate the direction of a form.An extended portion is a preferable example of an extended region of thepresent invention. Either of the members HADMORIENT_PORTRAIT (portrait)and DMORIENT_LANDSCAPE (landscape) is used. The size of a form to beprinted is designated to DmPaperSize. The height and width of the formcorrespond to members dmPaperLength and dmPaperWidth respectively.However, when these values are set, it is possible to set 0 to themembers. The standard portion is described above.

FIG. 23 is an illustration showing a memory map of the standard portion2301 and extended portion 2302 of DEVMODE that is a preferable exampleof a standard region. Because the data structure of the DEVMODE ispreviously known, it is possible to show the standard portion 2301 bythe text format shown in FIG. 22 by using a development tool. Forexample, DmDeviceName 2304 corresponds to the same member in FIG. 22.Members 2305 to 2307 and not-illustrated other members also correspondto the same members in FIG. 22. However, the specification of theextended portion cannot be obtained in many cases. In this case, it isimpossible to guess what setting is stored. FIG. 23 shows a case inwhich the standard portion and extended portion of DEVMODE arecontinuously arranged in a memory. However, there is also a case inwhich it is unnecessary to continuously arrange the portions. Theextended portion stores N-Up, poster printing mode, presence or absenceof a staple, setting information on a layout, and setting information onprinting.

General designation information that is the common information fordesignation to a printer is stored in the designation-to-printerinformation section 503. For example, the general designationinformation includes staple position, type of punch, both-side printingor not, and designation of form-feed port. In general, the printingsetting (DEVMODE) native in the printer driver of a purposed printer isgenerated in accordance with the general designation information anddesignation information is sent to the printer by using the generatedDEVMODE.

When DEVMODE is already designated in the DEVMODE storage section 504, adesignation is sent to a printer in accordance with designated DEVMODEindependently of the description of the designation-to-printerinformation section 503. This assumes that because DEVMODE cannot begenerated in accordance with a general printing designation in the caseof a printer whose DEVMODE content is unknown, a user uses the printerby directly including a printing designation specified by the propertyof the printer in a printing designation document. However, it isallowed to generate new DEVMODE by reflecting the printing designationof the designation-to-printer information section 503 on the commonportion with a clear structure in the DEVMODE.

FIG. 6 shows the contents of a printing designation document whenprinters used for this embodiment are specified as a plurality ofdecentralized printers. Decentralized printers are specified to aprinter-device-name storage section (601) in which it is described thatthe name is “printer set 1 (for decentralization)” (602) and objects tobe decentralized are three printers (603).

In a member printer storage section (607), a plurality of printers suchas “laser printer 1” (608), “laser printer 2” (609), and “laser printer3” (610) are set as member printer names. DEVMODE1 (612), DEVMODE2(613), and DEVMODE3 (614) are stored in a DEVMODE storage section (611)as the printing setting information native in a printer drivercorresponding to each member printer.

The user previously sets decentralized printers in accordance with thedialog screen in FIG. 4. The expression “Rate decentralization” set inaccordance with the output method 401 in the dialog in FIG. 4 is aprinting designation to a plurality of specified printers to make theprinters execute printing with the whole printing work load beingdivided based on a specified rate, to allocating the loads to theprinters. By using a plurality of printers as member printers andspecifying these printers as a group of virtual printers, the group ofthese virtual printers is operated in accordance with predetermined ratedecentralization. In FIG. 4, when selecting decentralized printers,DEVMODE corresponding to each printer is generated by entering theprinters to be decentralized as member printers and setting a printingdesignation in accordance with the property of each printer and it ispossible to generate the printing designation document shown in FIG. 6in accordance with the above operation.

Specifically, when decentralized printers are set in FIG. 4 andthereafter a user specifies the decentralized printers as outputdestinations by a bookbinding application, a corresponding DOMS driverobtains the DEVMODE of each member printer of the decentralized printersand transmits the DEVMODE to the bookbinding application. Thereby, thebookbinding application stores the DEVMODE of the member printersdelivered from the DOMS driver in the printing designation document. Theprocessing is advanced to the next step to open the printing designationdocument in step S202.

Then, the printer device name specified in the printing designationdocument is read by DOMS print service in step S203 to check whether theprinter device name is specified in the printing designation document(S204). If the printer device name is not specified (S204-none), adefault printer name entered in the system is obtained and the printerdevice is used as an output object (S205).

Then, it is checked in accordance with the DOMS print service whetherthe driver corresponding to the printer device name is installed in thesystem (S206). If the driver is not installed (S207-No), it iscommunicated to the user as an error that it is impossible to use theprinter (S208).

When the printer driver is installed (S207-Yes), the processing isadvanced to step S209 whose details will be described later to performprinting by the printer.

FIG. 3 is a flowchart for explaining a flow of the printing designationprocessing to a printer in step S209 in FIG. 2.

It is checked in accordance with DOMS print service whether a specifiedprinter is a decentralized printer (S301). When the printer is adecentralized printer (S301-Yes), the name of a printer specified as amember printer is read as a decentralized printer (S302). Then, thedecentralization rate of the output to the printer is read (S303) torewrite the content of the printing designation document in accordancewith the decentralization rate (S304).

It is checked by an electronic manuscript despooler whether the printingsetting information (DEVMODE) native in a printer driver correspondingto a set printer is included in the printing designation document(S305). When the information is included in the document (S305-Yes), theinformation is read (S307). When the information is not included in thedocument (S305-No), the printing setting information (DEVMODE) native ina printer driver corresponding to a purposed printer is generated inaccordance with the set content of a printing designation portion to aprinter which is the content (general designation information) of thedesignation-to-printer information section 503 stored in the printingdesignation document in FIG. 5 (S306). In this case, it is allowed togenerate DEVMODE set by combining printing designations of thedesignation-to-printer information section 503 even if DEVMODE isincluded depending on mounting.

Then, a designation to be communicated to the printer is sent to theprinter in accordance with read or generated DEVMODE (S308).Specifically, the despooler serving as a printing module built in theDOMS system reads CreateDC( ) serving as the API of an OS by usinggenerated DEVMODE and thereby communicates a printing designation to theprinter. Then, the despooler develops the content of a printing documentin accordance with the developing designation information of the dataincluded in the printing designation document, transmits the datadeveloped to the printer (S309), and communicates to the printer thatall printing data is transmitted after the processing in step S309(S310).

Specifically, it is possible to provide the pointer of a desired storageregion to CreateDC( ) as an argument. CreateDC( ) is applicationprogramming interface which an OS provides. The despooler performscontrol of the OS so as to supply a pointer for pointing extendedDEVMODE to CreateDC( ) as an argument, obtain the structure of DEVMODEfrom a desired storage region pointed by the pointer, and send thestructure to a driver module. The driver obtaining the structure ofDEVMODE by using CreateDC( ) transmits an instruction to a printer forprinting in accordance with obtained information. The instruction issuedin accordance with the content described in DEVMODE is transmitted tothe printer and the printer operates in accordance with the instruction.Thereby, it is possible to effectively use even the printing settingthat is set in the extended portion in which the structure of DEVMODEcannot be guessed unless separately obtaining the specification.

It is checked in accordance with DOMS print service whether memberprinters to be decentralized are still left (S311). When the printersare left, step S302 is restarted to continuously apply the sameprocessing to prospective member printers from the second member printerdownward. When all printings are completed, this is communicated to theuser (S312) to complete printing.

As described above, according to this embodiment, even if printingcannot be performed by only the common setting included in a printingdesignation document, it is possible to generate the printing settinginformation (DEVMODE) native in a printer in accordance with the commongeneral designation information included in the printing designationdocument and process a printing document in accordance with theinformation.

Moreover, even when processing the printing document by a plurality ofdecentralized printers, it is possible to generate native printingsetting information for the printer requiring the information inaccordance with common general designation information and execute thedecentralized processing of the printing document.

<Second Embodiment>

In the case of the first embodiment, the content for controlling aplurality of printers respectively in accordance with ratedecentralization is described. In the case of a second embodiment,however, contents for controlling a plurality of member printers aredescribed for the substitute printing of making preset second or thirdprinter execute the designation content for the first printer when thefirst printer designated as an output destination cannot be used orprinting fails.

The content of a printing designation document when a substitute printeris specified as a printer used for this embodiment has the datastructure shown in FIG. 9. Substitute printers are specified in aprinter-device-name storage section (901) in which it is described thatthe name is “printer set 2 (for substitute)” (902) and substituteobjects are three printers (903).

A plurality of printers such as “laser printer 1” (908), “laserprinter2” (909), and “laser printer 3” (910) are set in a member printerstorage section (907) as member printer names. DEVMODE1 (912), DEVMODE2(913), and DEVMODE3 (914) are stored in a DEVMODE storage section (911)as the printing setting information native in a printer drivercorresponding to each member printer.

When a user previously selects a substitute printer in accordance withthe dialog in FIG. 8, the user enters the substitute printer as a memberprinter, DEVMODE is generated by setting a printing designation inaccordance with the property of each printer and it is possible togenerate the printing designation document shown in FIG. 9 by operatingthe DEVMODE.

Specifically, when a substitute printer is set in FIG. 8 and then, auser specifies the substitute printer as an output destination inaccordance with a bookbinding application, a corresponding DOMS driverobtains the DEVMODE of each member printer of the substitute printer andtransmits the DEVMODE to the bookbinding application. Thereby, thebookbinding application stores the DEVMODE of the member printersupplied from the DOMS driver in the printing designation document.Substitution is executed in accordance with the sequence described in amember-printer-name storage section.

The processing flow in FIG. 7 shows details of the portion of aprinting-designation-to-printer processing S209 shown in FIG. 2. First,it is checked in accordance with DOMS print service whether a specifiedprinter is a substitute printer (S701). When the printer is a substituteprinter, the name of a first printer specified as a member printer ofthe substitute printer is read (S702).

In this case, it is checked whether the first printer can be used(S704). If the first printer cannot be used (S704-No), a second memberprinter set in the substitute printer is read (S703) to process theprinter.

An electronic manuscript despooler checks whether the DEVMODEcorresponding to a set printer is included in a printing designationdocument (S705). When the DEVMODE is included in the document, it isread (S706). If the DEVMODE is not included, the DEVMODE of a purposedprinter is generated in accordance with the content of thedesignation-to-printer information section 503 in FIG. 5 which is theset content of the printing-designation-to-printer portion (S707).

In this case, it is allowed to generate the DEVMODE to which theprinting designation of the designation-to-printer information section503 is repeatedly set even when DEVMODE is included depending onmounting.

Then, a designation to be communicated to a printer is sent to a printerdevice in accordance with the read or generated DEVMODE (S708).Specifically, the despooler serving as the printing module built in theDOMS system calls CreateDC( ) which is the API of Windows by using thegenerated DEVMODE and thereby communicates a printing designation to theprinter. It is possible to provide a pointer of a desired storage regionto CreateDC( ) as an argument, the structure of DEVMODE is obtained fromthe storage region pointed by the pointer and sent to a driver module.

A driver obtaining the structure of DEVMODE from CreateDC( ) transmitsan instruction to a printer for printing. The instruction issued inaccordance with the content described in DEVMODE is transmitted to theprinter and the printer operates in accordance with the instruction.Therefore, even in the case of extended DEVMODE whose content isunknown, a pointer pointing the DEVMODE is delivered to an OS, the OScan read DEVMODE from an address pointed by the pointer and send theDEVMODE to a driver.

A printer controller for controlling the whole printer controls suchoptions as a printer engine, sorter, and stapler in accordance with theset information shown by the DEVMODE. Then, the controller develops thecontent of a printing document in accordance with thedata-developing-designation information included in the printingdesignation document, transmits the data developed to the printer(S709), and communicates that all printing data is transmitted to theprinter after the processing in step S709 (S710).

In this case, it is checked in accordance with DOMS print servicewhether printing succeeds (S711). When printing does not succeed, thenext member printer set to the substitute printer is read (S703) andprocessing is continued for the printer. When every printing iscompleted, this is communicated to the user (S712) to complete printing.

As described above, according to this embodiment, it is possible togenerate native printing setting information (DEVMODE) for a printercorresponding to a substitute sequence and requiring the information inaccordance with common general designation information even whenprocessing a printing document in accordance with the substitutesequence of a plurality of printers and execute the processing accordingto the substitute sequence of the printing document.

That is, according to this embodiment, even if printing cannot beperformed by a first printer that should perform printing, it ispossible to output printing document data in accordance with the DEVMODEof second or third printer set as a member printer by substituteprinting of the first printer.

<Other Embodiment>

It is allowed to apply the present invention to a system constituted bya plurality of units (such as host computer, interface units, reader,and printer) or an apparatus comprising one unit (copying machine,printer, or facsimile system).

Moreover, an object of the present invention is achieved when a systemor the computer (or CPU or MPU) of an apparatus reads and executes theprogram code of software for realizing functions of the above-describedembodiments stored in a storage medium.

In this case, the program code read from the storage medium realizesfunctions of the above-described embodiments and thereby, the storagemedium storing the program code constitutes the present invention.

As a storage medium for supplying a program code, it is possible to useany one of a floppy disk, hard disk, optical disk, magneto-optical disk,CD-ROM, CD-R, magnetic tape, nonvolatile memory card, and ROM.

Moreover, by executing a program code read by a computer, functions ofthe above-described embodiments are realized and moreover, a case isincluded in which an OS (Operating System) working on the computer inaccordance with a designation by the program code executes some or allof actual processings and functions of the embodiments are realized inaccordance with the processings.

Furthermore, a case is included in which a program code read from astorage medium is written in a memory set in a function-extending boardinserted into a computer or a function-extending unit connected to acomputer, and then a CPU set in the function-extending board orfunction-extending unit performs some or all of actual processings inaccordance with designation of the program code and thereby, functionsof the above-described embodiments are realized.

As described above, the present invention makes it possible to generateand edit a document obtained by collecting the data generated by anapplication program desired by a user and improve the operability of thegeneration and edition of the document and the productivity of documentedition.

Moreover, the present invention makes it possible to generate theprinting setting information native in a printer in accordance withcommon general designation information included in a printingdesignation document and execute the processing of a printing documentin accordance with the information even when printing cannot beperformed by only the common setting included in a printing designationdocument.

Furthermore, even when decentralizing and processing a printing documentby a plurality of printers, it is possible to generate native printingsetting information for a printer requiring the information inaccordance with common general designation information and executedecentralized processing of the printing document.

Furthermore, even when processing a printing document in accordance withthe substitute sequence of a plurality of printers, it is possible togenerate native printing setting information (DEVMODE) for a printercorresponding to the substitute sequence and requiring the informationin accordance with common general designation information and processthe printing document in accordance with the substitute sequence.

Furthermore, because various settings when generating a printingdocument are included in a printing designation document, it is possibleto perform printing using a designation including the extended portionof DEVMODE for the printer of a company other than the above-describedprinter even after temporarily storing the printing designationdocument.

As many apparently widely different embodiments of the present inventioncan be made without departing from the spirit and scope thereof, it isto be understood that the invention is not limited to the specificembodiments thereof except as defined in the claims.

1. A printing control apparatus for making a printer print printing databy transmitting the data to the printer, comprising: input unit adaptedto input a printing document and a printing designation information forspecifying the processing content of the printing document; obtainmentunit adapted to specify a printer for processing the printing documentin accordance with the input printing designation information andobtaining the native printing setting information which can be set to acontrol program in the printing control apparatus for controlling thespecified printer; and transmission control unit adapted to control theprocessing of transmitting a printing designation according to nativeprinting setting information obtained by the obtainment unit to theprinter through the printing control program. 2.-28. (canceled)